package es.ugr.beequizz.dao;

import java.util.List;

import es.ugr.beequizz.bean.ClasificacionBean;
import es.ugr.beequizz.bean.InformacionPartidaBean;
import es.ugr.beequizz.bean.MisPartidasBean;
import es.ugr.beequizz.bean.PartidaBean;
import es.ugr.beequizz.bean.PuntuacionBean;

public interface PartidaDAO {

	Long crearPartida(Long usuarioId, Long juegoId);

	void resultadoPartida(Long partidaId, Long usuarioId, Long puntuacionTotal);

	void partidaMultijugador(Long idPartida, Long idJugador, Long idSiguiente);

	void preguntaPartida(Long partidaId, Long id);

	void partidaTerminada(Long idPartida);

	List<PartidaBean> recuperarPartidas(Long idUsuario);

	void insertarUnaPregunta(Long preguntaId, Long partidaId, Long usuarioId);

	Long recuperarPuntuacion(Long partidaId, Long usuarioId);

	void puntuacion(Long partidaId, Long usuarioId,
			Long puntuacion);

	Boolean recuperarEstadoPartida(Long partidaId);

	List<InformacionPartidaBean> recuperarPartidasEnCurso(Long idUsuario,
			Long idJuego);

	InformacionPartidaBean recuperarInformacionPartida(Long idPartida);

	Long crearPartida(Long jugadorId, Long juegoId, Long temaId,
			Long dificultadId);

	List<PuntuacionBean> recuperarPuntuacion(Long partidaId);

	List<String> recuperarListaParticipantes(Long idPartida);

	List<MisPartidasBean> recuperarResultadosMisPartidas(Long jugadorId);

	List<ClasificacionBean> recuperarClasificacion(Long juegoId,
			Long asignaturaId, Long dificultadId);
	
}

